configuration StrainSensorC {

	provides {
		interface SerialSensorRead as Read ;
	}
}

implementation {
	components StrainSensorNewNewP as SensorP;
	components MainC ;

	Read = SensorP ;

	MainC.SoftwareInit -> SensorP ;

#ifdef NOLEDS
	components NoLedsC as Leds;
#else
	components LedsC as Leds;
#endif
	SensorP.Leds-> Leds;

	components new TimerMilliC() as CmdIntTimer ;
	components new TimerMilliC() as SensorTimeout ;
	components new TimerMilliC() as AckTimeout ;

	SensorP.CommandInterleavingTimer -> CmdIntTimer ;
	SensorP.AckTimeoutTimer -> AckTimeout ;
	SensorP.SensorReadingTimer -> SensorTimeout ;

	components new Msp430Uart0C() as UartC;
	UartC.Msp430UartConfigure		-> SensorP;
	SensorP.Resource			-> UartC.Resource;
	SensorP.SensorStream		-> UartC;


	components HplMsp430GeneralIOC;
	components new Msp430GpioC();

 	Msp430GpioC.HplGeneralIO  -> HplMsp430GeneralIOC.ADC2;
//	Msp430GpioC.HplGeneralIO -> HplMsp430GeneralIOC.Port23;
 	SensorP.Power   -> Msp430GpioC;


}
